package ejemplo;

import java.io.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

public class Delete extends HttpServlet {

  private AccesoDatos ad;
  private ResultSet rs;
  private MyTableModel mtb;
  private String mensaje;
   
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {} 

  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {} 

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
    RequestDispatcher rd;
    rd=request.getRequestDispatcher("/select");
    String table=request.getParameter("table");
    try{
        ad = new AccesoDatos("gencod");
        if(table.equals("libros")){
          String isbn=request.getParameter("isbn");
          if(ad.delLibro(isbn) == 0)
              mensaje="Error: No se pudo borrar libro";
          else mensaje="Se borro libro exitosamente (isbn " + isbn + ")";
        }
        else if(table.equals("temas")){
          String id=request.getParameter("id");
          // consultar si tema tiene libros asociados
          rs = ad.getLibros("","","","", id);
          mtb = new MyTableModel(rs);
          if(mtb.getRowCount() > 0)
             mensaje="Error: El tema tiene libros asociados";
          else
             if(ad.delTema(id) == 0)
                mensaje="Error: No se pudo borrar tema";
             else mensaje="Se borro tema con id " + id + " exitosamente";
        } //endif(table.equals("temas"))
       request.setAttribute("mensaje",mensaje);
       rd.forward(request,response);
    } catch(ClassNotFoundException cnfe){
      rd=request.getRequestDispatcher("/index");
      mensaje="Error fatal. Excepcion de clase no encontrada: " + cnfe.getMessage();
      request.setAttribute("mensaje",mensaje);
      rd.forward(request,response);
    } catch(SQLException sqle){
      rd=request.getRequestDispatcher("/index");
      mensaje="Error fatal. Excepcion de SQL: " + sqle.getErrorCode();
      request.setAttribute("mensaje",mensaje);
      rd.forward(request,response);
    }
  }

  @Override
  public String getServletInfo(){ return "Short description"; }
}